package com.motong.gongdan.vo.H5Vo.mission.query;

import com.alibaba.fastjson.JSONObject;
import com.motong.gongdan.vo.system.otherVo.PageVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author:fff
 * @time:2022/3/3
 */
@Data
public class H5MissionListQuery extends PageVo {

    private Integer id;

    @ApiModelProperty( "工单编号")
    private String workOrderCode;

    @ApiModelProperty( "工序编号")
    private String processCode;

    @ApiModelProperty( "工序名称")
    private String processName;

    @ApiModelProperty( "开始时间")
    private Date startTime;

    @ApiModelProperty( "结束时间")
    private Date endTime;

    @ApiModelProperty( "实际开始时间")
    private Date actualStartTime;

    @ApiModelProperty( "实际结束时间")
    private Date actualEndTime;

    @ApiModelProperty( "产品编号")
    private String productCode;

    @ApiModelProperty( "产品名称")
    private String productName;

    @ApiModelProperty( "产品规格")
    private String productSpecification;

    @ApiModelProperty( "工序状态")
    private List<String> processState;

    @ApiModelProperty( "工单状态")
    private List<String> workOrderState;

    @ApiModelProperty( "报工权限")
    private String permission;

    @ApiModelProperty( "分配列表")
    private String distribution;

    //自定义字段搜索
    private Map<Integer, String> customFieldMap;

    //非自定义字段搜索
    private JSONObject searchOther;

    //是否加急
    private Integer isUrgent;

    @ApiModelProperty( "排序 创建时间/计划开始/计划结束/工单编号/产品名/产品规格  wo.create_time/wo.start_time/wo.end_time/wo.code/p.name/p.specification")
    private String order;

    @ApiModelProperty( "升序/降序  asc/desc")
    private String orderType;

    @ApiModelProperty( "搜索")
    private String search;

    @ApiModelProperty( "当前模块(0 工单, 1 任务/工序)")
    private Integer belongModule;


    /*---------------------------------------------------*/
    @ApiModelProperty("备注")
    private String comment;

    @ApiModelProperty("分配状态(0 未分配, 1 已分配)")
    private String distributionState;

    @ApiModelProperty(value = "延期时间",hidden = true)
    private String delayTime;


    @ApiModelProperty("是否延期 0 否, 1 是")
    private Integer isDelay;

    @ApiModelProperty("任务id数组")
    private List<Integer> missionIds;

    @ApiModelProperty("实际开始时间(左)")
    private Date actualStartTimeStart;

    @ApiModelProperty("实际开始时间(右)")
    private Date actualStartTimeEnd;

    @ApiModelProperty("实际结束时间(左)")
    private Date actualEndTimeStart;

    @ApiModelProperty("实际结束时间(右)")
    private Date actualEndTimeEnd;

    @ApiModelProperty("计划开始时间(左)")
    private Date planStartTimeStart;

    @ApiModelProperty("计划开始时间(右)")
    private Date planStartTimeEnd;

    @ApiModelProperty("计划结束时间(左)")
    private Date planEndTimeStart;

    @ApiModelProperty("计划结束时间(右)")
    private Date planEndTimeEnd;

    @ApiModelProperty("看板id")
    private Integer screenPlanId;

    @ApiModelProperty(value = "二级分组参数名称")
    private String secondGroupColumnName;

    @ApiModelProperty("工单id数组")
    private List<Integer> workOrderIds;

}
